#pragma once

class CUIElement;
class HitTestPolygon;

struct IBoundsTestCallback
{
public: 
	virtual HRESULT OnElementHit(CUIElement *, const HitTestPolygon &, enum BoundsWalkHitResult::Value *) = 0;
	virtual HRESULT OnElementHit(CUIElement *, const struct XPOINTF &, enum BoundsWalkHitResult::Value *) = 0;
	virtual HRESULT OnParentIncluded(CUIElement *, const HitTestPolygon &, enum BoundsWalkHitResult::Value *) = 0;
	virtual HRESULT OnParentIncluded(CUIElement *, const struct XPOINTF &, enum BoundsWalkHitResult::Value *) = 0;
};